import { reqGetUserInfo } from '@/api/user'

// user.js模块关于用户信息的模块
export default {
  state: {
    userInfo: {} // 用户个人信息
  },
  mutations: {
    // 3. 设置个人信息的mutation
    setUserInfo (state, userInfo) {
      state.userInfo = userInfo
    }
  },
  actions: {
    // 1. 发送个人信息资料的请求的action
    async getUserInfo (context) {
      const { data } = await reqGetUserInfo()
      // console.log(data)
      // 2. 提交mutation
      if (data.code === 0) {
        context.commit('setUserInfo', data.data)
      }
      return data.data // return 个人信息是想在组件内使用这个数据
    }
  },
  getters: {
    // 首字母大写的文本头像
    textAvatar (state) {
      return state.userInfo.username ? state.userInfo.username[0].toUpperCase() : ''
    }
  },
  namespaced: true // 开启命名空间
}
